export interface MenuListData {
    code: number;
    msg: string;
    data: Menu[];
}

export interface Menu {
    ID: number;
    name: string;
    route_name: string;
    url: string;
    component: string;
    request_type: number;
    icon: string;
    parent_id: number;
    parent_name: string;
    type: number;
    level: number;
    sort: number;
    CreatedAt: string | null;
    UpdatedAt: string | null;
    DeletedAt: string | null;
}

export interface CreateMenuItem {
    name: string
    url: string
    route_name: string
    component: string | null
    icon: string
}


export interface MenuItem {
    ID: number;
    CreatedAt: string | null;
    UpdatedAt: string | null;
    DeletedAt: string | null;
    name: string;
    route_name: string;
    url: string;
    component: string;
    request_type: number;
    icon: string;
    parent_id: number;
    parent_name: string;
    type: number;
    permissions: string;
    level: number;
    sort: number
    children?: MenuItem[];
}

export interface AddMenuItem {
    name: string
    parent_id: number
    parent_name: string
    type: string
    url: string
    route_name: string
    component: string | null
    icon: string
    request_type: string
    level: string
    permissions: string | null
}

export interface EditMenuItem {
    ID: number | null,
    name: string
    parent_id: string
    parent_name: string
    type: string
    url: string
    route_name: string
    component: string | null
    icon: string
    request_type: string
    level: string
    sort: number | null
    permissions: string | null
}